core: Fix a few memory leaks
authorColin Walters <walters@verbum.org>
Thu, 15 Dec 2011 20:13:51 +0000 (15:13 -0500)
committerColin Walters <walters@verbum.org>
Thu, 15 Dec 2011 20:17:27 +0000 (15:17 -0500)
src/libostree/ostree-repo.c

index c658f60ffbc8dc19ffc60aa66aa890a192020706..b7f123e866fddb662ec8b90dbd440d635b42ad7c 100644 (file)
@@ -960,6 +960,7 @@ commit_staged_file (OstreeRepo         *self,
   ret = TRUE;
  out:
   g_clear_object (&dest_file);
+  g_clear_object (&checksum_dir);
   return ret;
 }
 
@@ -2261,10 +2262,9 @@ checkout_tree (OstreeRepo               *self,
         {
           const char *checksum = _ostree_repo_file_get_checksum ((OstreeRepoFile*)src_child);
 
-          g_clear_object (&object_path);
-
           if (priv->mode == OSTREE_REPO_MODE_ARCHIVE)
             {
+              ot_clear_gvariant (&archive_metadata);
               if (!ostree_repo_load_variant (self, OSTREE_OBJECT_TYPE_ARCHIVED_FILE_META, checksum, &archive_metadata, error))
                 goto out;
               
@@ -2289,6 +2289,7 @@ checkout_tree (OstreeRepo               *self,
             }
           else
             {
+              g_clear_object (&object_path);
               object_path = ostree_repo_get_object_path (self, checksum, OSTREE_OBJECT_TYPE_RAW_FILE);
 
               if (link (ot_gfile_get_path_cached (object_path), ot_gfile_get_path_cached (dest_path)) < 0)